package cn.fl.ass.transform;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.ass.vo.AssVfRtnLogVO;
import fl.ass.facade.dto.AssVfRtnLogDTO;

import java.util.ArrayList;
import java.util.List;


/**
 * @Description: 资产核销回款记录表 转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据
 * @Description: VO转换数据变成DTO传递到服务端
 * @Description: VO不能在服务端出现
 */
public class AssVfRtnLogVOTransform {

    /**
     * DTO 转  VO
     *
     * @param dto AssVfRtnLogDTO
     * @return AssVfRtnLogVO
     */
    public static AssVfRtnLogVO baseToVO(AssVfRtnLogDTO dto) {
        AssVfRtnLogVO vo = null;
        if (dto != null) {
            vo = new AssVfRtnLogVO();
            vo.setId(dto.getId());
            vo.setVfInfoId(dto.getVfInfoId());//资产核销信息表ID（ASS_VF_INFO.ID）
            vo.setVfFundNo(dto.getVfFundNo());//资金编号
            vo.setRtnAmt(dto.getRtnAmt());//回款金额
            vo.setIsAllRtn(dto.getIsAllRtn());//是否全部回款（1：全部回款；0：部分回款）
            vo.setIsAllRtnNm(dto.getIsAllRtnNm());
            vo.setRtnTm(dto.getRtnTm());//回款时间
            vo.setIsDel(dto.getIsDel());//是否删除（0：否；1：是）

            vo.setCrtTm(dto.getCrtTm());//创建时间
            vo.setCrtUsrId(dto.getCrtUsrId());//创建人
            vo.setMdfTm(dto.getMdfTm());//修改时间
            vo.setMdfUsrId(dto.getMdfUsrId());//修改人
        }
        return vo;
    }

    /**
     * VO 转 DTO
     *
     * @param vo AssVfRtnLogVO
     * @return AssVfRtnLogDTO
     */
    public static AssVfRtnLogDTO baseToDTO(AssVfRtnLogVO vo) {
        AssVfRtnLogDTO dto = null;
        if (vo != null) {
            dto = new AssVfRtnLogDTO();
            dto.setId(vo.getId());
            dto.setVfInfoId(vo.getVfInfoId());//资产核销信息表ID（ASS_VF_INFO.ID）
            dto.setVfFundNo(vo.getVfFundNo());//资金编号
            dto.setRtnAmt(vo.getRtnAmt());//回款金额
            dto.setIsAllRtn(vo.getIsAllRtn());//是否全部回款（1：全部回款；0：部分回款）
            dto.setIsAllRtnNm(vo.getIsAllRtnNm());
            dto.setRtnTm(vo.getRtnTm());//回款时间
            dto.setIsDel(vo.getIsDel());//是否删除（0：否；1：是）

            dto.setCrtTm(vo.getCrtTm());//创建时间
            dto.setCrtUsrId(vo.getCrtUsrId());//创建人
            dto.setMdfTm(vo.getMdfTm());//修改时间
            dto.setMdfUsrId(vo.getMdfUsrId());//修改人
        }
        return dto;
    }

    /**
     * DTO 转  VO
     *
     * @param dto AssVfRtnLogDTO
     * @return AssVfRtnLogVO
     */
    public static AssVfRtnLogVO toVO(AssVfRtnLogDTO dto) {
        AssVfRtnLogVO vo = baseToVO(dto);
        //设置自定义扩展属性
        return vo;
    }

    /**
     * VO 转 DTO
     *
     * @param vo AssVfRtnLogVO
     * @return AssVfRtnLogDTO
     */
    public static AssVfRtnLogDTO toDTO(AssVfRtnLogVO vo) {
        AssVfRtnLogDTO dto = baseToDTO(vo);
        //设置自定义扩展属性
        return dto;
    }

    /**
     * DTO集合 转 VO集合
     *
     * @param list
     * @return List<AssVfRtnLogVO>
     */
    public static List<AssVfRtnLogVO> toVOList(List<AssVfRtnLogDTO> list) {
        List<AssVfRtnLogVO> voList = new ArrayList<AssVfRtnLogVO>();
        if (CollectionUtils.isNotEmpty(list)) {
            for (AssVfRtnLogDTO dto : list) {
                voList.add(toVO(dto));
            }
        }
        return voList;
    }

    /**
     * VO集合 转 DTO集合
     *
     * @param list List<AssVfRtnLogVO>
     * @return List<AssVfRtnLogDTO>
     */
    public static List<AssVfRtnLogDTO> toDTOList(List<AssVfRtnLogVO> list) {
        List<AssVfRtnLogDTO> dtoList = new ArrayList<AssVfRtnLogDTO>();
        if (CollectionUtils.isNotEmpty(list)) {
            for (AssVfRtnLogVO vo : list) {
                dtoList.add(toDTO(vo));
            }
        }
        return dtoList;
    }
}
